/*
 * CommunicationService.h
 *
 *  Created on: Jul 17, 2013
 *      Author: m
 */

#ifndef COMMUNICATIONSERVICE_H_
#define COMMUNICATIONSERVICE_H_

#include <string>
#include "communication_common.h"

namespace communication
{

template <class RequestType, class ReplyType> class CommunicationService
{
public:
    CommunicationService(){}

    virtual ~CommunicationService(){}

    virtual void send( std::string destination, RequestType &request ) = 0;
    virtual ReplyType recieve() = 0;
};

} /* namespace communication */
#endif /* COMMUNICATIONSERVICE_H_ */
